#ifndef COURSE_PUB_H
#define COURSE_PUB_H

#define MAX_COURSES 50
#define MAX_STUDENTS 100
#define MAX_NAME_LEN 50
#define MAX_ID_LEN 20
#define MAX_TYPE_LEN 20

//课程结构体
typedef struct {
	char id[MAX_ID_LEN];                     //课程编号
	char name[MAX_NAME_LEN];                 //课程名称
	char type[MAX_TYPE_LEN];                 //课程性质：必修、选修
	int hours;                               //授课学时
	int credits;                             //学分
	int selected_count;                       //已选人数
	int max_students;                       //人数上限
	char students[MAX_STUDENTS][MAX_ID_LEN]; //选课学生列表
} Course;

//课程管理接口
void init_course_system();                  //初始化课程系统
int add_course(const char* id, const char* name, const char* type, int hours, int credits, int max_students);           //添加课程
int delete_course(const char* id);          //删除课程
int modify_course_info(const char* id, const char* new_name, const char* new_type,
int new_hours, int new_credits, int new_max); //修改课程信息
Course* find_course_by_id(const char*id);   //按课程号查找
void list_all_courses();                    //列出所有课程
void show_course_details(const char* course_id);   //显示课程详情
int get_course_count();                     //获取课程数量
int add_student_to_course(const char* course_id, const char* student_id); //添加学生到课程
int remove_student_from_course(const char* course_id, const char* student_id);//从课程移除学生

#endif
